namespace ext.form
{
	using System;
	using System.Runtime.CompilerServices;
	using System.Html;
	using System.Collections;
	
	
	/// <summary>
	/// Basic text field. Can be used as a direct replacement for traditional text inputs,
	/// or as the base class for more sophisticated input controls (like {@link Ext.form.TextArea}
	/// and {@link Ext.form.ComboBox}).  Validation  The validation procedure is described in the documentation for {@link #validateValue}.  Alter Validation Behavior  Validation behavior for each field can be configured:    {@link Ext.form.TextField#invalidText invalidText} : the default validation message to
	/// show if any validation step above does not provide a message when invalid  {@link Ext.form.TextField#maskRe maskRe} : filter out keystrokes before any validation occurs  {@link Ext.form.TextField#stripCharsRe stripCharsRe} : filter characters after being typed in,
	/// but before being validated  {@link Ext.form.Field#invalidClass invalidClass} : alternate style when invalid  {@link Ext.form.Field#validateOnBlur validateOnBlur},
	/// {@link Ext.form.Field#validationDelay validationDelay}, and
	/// {@link...
	/// </summary>
	/// <htmlSummary>
	/// &lt;p&gt;Basic text field. Can be used as a direct replacement for traditional text inputs,
	/// or as the base class for more sophisticated input controls (like {@link Ext.form.TextArea}
	/// and {@link Ext.form.ComboBox}).&lt;/p&gt;
	/// &lt;p&gt;&lt;b&gt;&lt;u&gt;Validation&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;
	/// &lt;p&gt;The validation procedure is described in the documentation for {@link #validateValue}.&lt;/p&gt;
	/// &lt;p&gt;&lt;b&gt;&lt;u&gt;Alter Validation Behavior&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;
	/// &lt;p&gt;Validation behavior for each field can be configured:&lt;/p&gt;
	/// &lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
	/// &lt;li&gt;&lt;code&gt;{@link Ext.form.TextField#invalidText invalidText}&lt;/code&gt; : the default validation message to
	/// show if any validation step above does not provide a message when invalid&lt;/li&gt;
	/// &lt;li&gt;&lt;code&gt;{@link Ext.form.TextField#maskRe maskRe}&lt;/code&gt; : filter out keystrokes before any validation occurs&lt;/li&gt;
	/// &lt;li&gt;&lt;code&gt;{@link Ext.form.TextField#stripCharsRe stripCharsRe}&lt;/code&gt; : filter characters after being typed in,
	/// but before being validated&lt;/li&gt;
	/// &lt;li&gt;&lt;code&gt;{@link Ext.form.Field#invalidClass invalidClass}&lt;/code&gt; : alternate style when invalid&lt;/li&gt;
	/// &lt;li&gt;&lt;code&gt;{@link Ext.form.Field#validateOnBlur validateOnBlur}&lt;/code&gt;,
	/// &lt;code&gt;{@link Ext.form.Field#validationDelay validationDelay}&lt;/code&gt;, and
	/// &lt;code&gt;{@link Ext.form.Field#validationEvent validationEvent}&lt;/code&gt; : modify how/when validation is triggered&lt;/li&gt;
	/// &lt;/ul&gt;&lt;/div&gt;
	/// </htmlSummary>
	/// <definedin>src\widgets\form\TextField.js</definedin>
	[ScriptName("TextField")]
	[ScriptNamespace("Ext.form")]
	[Imported()]
	public partial class TextField : ext.form.Field
	{
		
		#region Constructors
		/// <summary>Constructor</summary>
		/// <param name="config">Configuration options</param>
		public TextField(ext.form.TextField_Configuration config)
		{
		}
		
		/// <summary>Constructor</summary>
		public TextField()
		{
		}
		#endregion
		
		#region Fields
		/// <summary>
		/// A custom error message to display in place of the default message provided
		/// for the {@link #vtype} currently set for this field (defaults to &apos;&apos;). Note:
		/// only applies if {@link #vtype} is set, else ignored.
		/// </summary>
		/// <htmlSummary>
		/// A custom error message to display in place of the default message provided
		/// for the &lt;b&gt;&lt;code&gt;{@link #vtype}&lt;/code&gt;&lt;/b&gt; currently set for this field (defaults to &lt;tt&gt;&apos;&apos;&lt;/tt&gt;). &lt;b&gt;Note&lt;/b&gt;:
		/// only applies if &lt;b&gt;&lt;code&gt;{@link #vtype}&lt;/code&gt;&lt;/b&gt; is set, else ignored.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("vtypeText")]
		public string VtypeText;
		
		/// <summary>
		/// A JavaScript RegExp object used to strip unwanted content from the value
		/// before validation (defaults to null).
		/// </summary>
		/// <htmlSummary>
		/// A JavaScript RegExp object used to strip unwanted content from the value
		/// before validation (defaults to &lt;tt&gt;null&lt;/tt&gt;).
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("stripCharsRe")]
		public System.RegularExpression StripCharsRe;
		
		/// <summary>
		/// true if this field should automatically grow and shrink to its content
		/// (defaults to false)
		/// </summary>
		/// <htmlSummary>
		/// &lt;tt&gt;true&lt;/tt&gt; if this field should automatically grow and shrink to its content
		/// (defaults to &lt;tt&gt;false&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("grow")]
		public bool Grow;
		
		/// <summary>
		/// The minimum width to allow when {@link #grow} = true (defaults
		/// to 30)
		/// </summary>
		/// <htmlSummary>
		/// The minimum width to allow when &lt;code&gt;&lt;b&gt;{@link #grow}&lt;/b&gt; = true&lt;/code&gt; (defaults
		/// to &lt;tt&gt;30&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("growMin")]
		public System.Number GrowMin;
		
		/// <summary>
		/// The maximum width to allow when {@link #grow} = true (defaults
		/// to 800)
		/// </summary>
		/// <htmlSummary>
		/// The maximum width to allow when &lt;code&gt;&lt;b&gt;{@link #grow}&lt;/b&gt; = true&lt;/code&gt; (defaults
		/// to &lt;tt&gt;800&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("growMax")]
		public System.Number GrowMax;
		
		/// <summary>A validation type name as defined in {@link Ext.form.VTypes} (defaults to null)</summary>
		/// <htmlSummary>A validation type name as defined in {@link Ext.form.VTypes} (defaults to &lt;tt&gt;null&lt;/tt&gt;)</htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("vtype")]
		public string Vtype;
		
		/// <summary>
		/// An input mask regular expression that will be used to filter keystrokes that do
		/// not match (defaults to null)
		/// </summary>
		/// <htmlSummary>
		/// An input mask regular expression that will be used to filter keystrokes that do
		/// not match (defaults to &lt;tt&gt;null&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("maskRe")]
		public System.RegularExpression MaskRe;
		
		/// <summary>
		/// Specify true to disable input keystroke filtering (defaults
		/// to false)
		/// </summary>
		/// <htmlSummary>
		/// Specify &lt;tt&gt;true&lt;/tt&gt; to disable input keystroke filtering (defaults
		/// to &lt;tt&gt;false&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("disableKeyFilter")]
		public bool DisableKeyFilter;
		
		/// <summary>
		/// Specify false to validate that the value&apos;s length is &gt; 0 (defaults to
		/// true)
		/// </summary>
		/// <htmlSummary>
		/// Specify &lt;tt&gt;false&lt;/tt&gt; to validate that the value&apos;s length is &gt; 0 (defaults to
		/// &lt;tt&gt;true&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("allowBlank")]
		public bool AllowBlank;
		
		/// <summary>Minimum input field length required (defaults to 0)</summary>
		/// <htmlSummary>Minimum input field length required (defaults to &lt;tt&gt;0&lt;/tt&gt;)</htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("minLength")]
		public System.Number MinLength;
		
		/// <summary>
		/// Maximum input field length allowed by validation (defaults to Number.MAX_VALUE).
		/// This behavior is intended to provide instant feedback to the user by improving usability to allow pasting
		/// and editing or overtyping and back tracking. To restrict the maximum number of characters that can be
		/// entered into the field use {@link Ext.form.Field#autoCreate autoCreate} to add
		/// any attributes you want to a field, for example: 
		/// var myField = new Ext.form.NumberField({
		/// id: &apos;mobile&apos;,
		/// anchor:&apos;90%&apos;,
		/// fieldLabel: &apos;Mobile&apos;,
		/// maxLength: 16, // for validation
		/// autoCreate: {tag: &apos;input&apos;, type: &apos;text&apos;, size: &apos;20&apos;, autocomplete: &apos;off&apos;, maxlength: &apos;10&apos;}
		/// });
		/// </summary>
		/// <htmlSummary>
		/// Maximum input field length allowed by validation (defaults to Number.MAX_VALUE).
		/// This behavior is intended to provide instant feedback to the user by improving usability to allow pasting
		/// and editing or overtyping and back tracking. To restrict the maximum number of characters that can be
		/// entered into the field use &lt;tt&gt;&lt;b&gt;{@link Ext.form.Field#autoCreate autoCreate}&lt;/b&gt;&lt;/tt&gt; to add
		/// any attributes you want to a field, for example:&lt;pre&gt;&lt;code&gt;
		/// var myField = new Ext.form.NumberField({
		/// id: &apos;mobile&apos;,
		/// anchor:&apos;90%&apos;,
		/// fieldLabel: &apos;Mobile&apos;,
		/// maxLength: 16, // for validation
		/// autoCreate: {tag: &apos;input&apos;, type: &apos;text&apos;, size: &apos;20&apos;, autocomplete: &apos;off&apos;, maxlength: &apos;10&apos;}
		/// });
		/// &lt;/code&gt;&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("maxLength")]
		public System.Number MaxLength;
		
		/// <summary>
		/// Error text to display if the {@link #minLength minimum length}
		/// validation fails (defaults to &apos;The minimum length for this field is {minLength}&apos;)
		/// </summary>
		/// <htmlSummary>
		/// Error text to display if the &lt;b&gt;&lt;tt&gt;{@link #minLength minimum length}&lt;/tt&gt;&lt;/b&gt;
		/// validation fails (defaults to &lt;tt&gt;&apos;The minimum length for this field is {minLength}&apos;&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("minLengthText")]
		public string MinLengthText;
		
		/// <summary>
		/// Error text to display if the {@link #maxLength maximum length}
		/// validation fails (defaults to &apos;The maximum length for this field is {maxLength}&apos;)
		/// </summary>
		/// <htmlSummary>
		/// Error text to display if the &lt;b&gt;&lt;tt&gt;{@link #maxLength maximum length}&lt;/tt&gt;&lt;/b&gt;
		/// validation fails (defaults to &lt;tt&gt;&apos;The maximum length for this field is {maxLength}&apos;&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("maxLengthText")]
		public string MaxLengthText;
		
		/// <summary>
		/// true to automatically select any existing field text when the field
		/// receives input focus (defaults to false)
		/// </summary>
		/// <htmlSummary>
		/// &lt;tt&gt;true&lt;/tt&gt; to automatically select any existing field text when the field
		/// receives input focus (defaults to &lt;tt&gt;false&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("selectOnFocus")]
		public bool SelectOnFocus;
		
		/// <summary>
		/// The error text to display if the {@link #allowBlank} validation
		/// fails (defaults to &apos;This field is required&apos;)
		/// </summary>
		/// <htmlSummary>
		/// The error text to display if the &lt;b&gt;&lt;tt&gt;{@link #allowBlank}&lt;/tt&gt;&lt;/b&gt; validation
		/// fails (defaults to &lt;tt&gt;&apos;This field is required&apos;&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("blankText")]
		public string BlankText;
		
		/// <summary>
		/// A custom validation function to be called during field validation ({@link #validateValue})
		/// (defaults to null). If specified, this function will be called first, allowing the
		/// developer to override the default validation process.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;A custom validation function to be called during field validation ({@link #validateValue})
		/// (defaults to &lt;tt&gt;null&lt;/tt&gt;). If specified, this function will be called first, allowing the
		/// developer to override the default validation process.&lt;/p&gt;
		/// &lt;br&gt;&lt;p&gt;This function will be passed the following Parameters:&lt;/p&gt;
		/// &lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;&lt;code&gt;value&lt;/code&gt;: &lt;i&gt;Mixed&lt;/i&gt;
		/// &lt;div class=&quot;sub-desc&quot;&gt;The current field value&lt;/div&gt;&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;
		/// &lt;br&gt;&lt;p&gt;This function is to Return:&lt;/p&gt;
		/// &lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;&lt;code&gt;true&lt;/code&gt;: &lt;i&gt;Boolean&lt;/i&gt;
		/// &lt;div class=&quot;sub-desc&quot;&gt;&lt;code&gt;true&lt;/code&gt; if the value is valid&lt;/div&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;code&gt;msg&lt;/code&gt;: &lt;i&gt;String&lt;/i&gt;
		/// &lt;div class=&quot;sub-desc&quot;&gt;An error message if the value is invalid&lt;/div&gt;&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("validator")]
		public System.Delegate Validator;
		
		/// <summary>
		/// A JavaScript RegExp object to be tested against the field value during validation
		/// (defaults to null). If the test fails, the field will be marked invalid using
		/// {@link #regexText}.
		/// </summary>
		/// <htmlSummary>
		/// A JavaScript RegExp object to be tested against the field value during validation
		/// (defaults to &lt;tt&gt;null&lt;/tt&gt;). If the test fails, the field will be marked invalid using
		/// &lt;b&gt;&lt;tt&gt;{@link #regexText}&lt;/tt&gt;&lt;/b&gt;.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("regex")]
		public System.RegularExpression Regex;
		
		/// <summary>
		/// The error text to display if {@link #regex} is used and the
		/// test fails during validation (defaults to &apos;&apos;)
		/// </summary>
		/// <htmlSummary>
		/// The error text to display if &lt;b&gt;&lt;tt&gt;{@link #regex}&lt;/tt&gt;&lt;/b&gt; is used and the
		/// test fails during validation (defaults to &lt;tt&gt;&apos;&apos;&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("regexText")]
		public string RegexText;
		
		/// <summary>
		/// The default text to place into an empty field (defaults to null).
		/// Note: that this value will be submitted to the server if this field is enabled and configured
		/// with a {@link #name}.
		/// </summary>
		/// <htmlSummary>
		/// The default text to place into an empty field (defaults to &lt;tt&gt;null&lt;/tt&gt;).
		/// &lt;b&gt;Note&lt;/b&gt;: that this value will be submitted to the server if this field is enabled and configured
		/// with a {@link #name}.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("emptyText")]
		public string EmptyText;
		
		/// <summary>
		/// The CSS class to apply to an empty field to style the {@link #emptyText}
		/// (defaults to &apos;x-form-empty-field&apos;). This class is automatically added and removed as needed
		/// depending on the current field value.
		/// </summary>
		/// <htmlSummary>
		/// The CSS class to apply to an empty field to style the &lt;b&gt;&lt;tt&gt;{@link #emptyText}&lt;/tt&gt;&lt;/b&gt;
		/// (defaults to &lt;tt&gt;&apos;x-form-empty-field&apos;&lt;/tt&gt;). This class is automatically added and removed as needed
		/// depending on the current field value.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("emptyClass")]
		public string EmptyClass;
		
		/// <summary>
		/// true to enable the proxying of key events for the HTML input
		/// field (defaults to false)
		/// </summary>
		/// <htmlSummary>
		/// &lt;tt&gt;true&lt;/tt&gt; to enable the proxying of key events for the HTML input
		/// field (defaults to &lt;tt&gt;false&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("enableKeyEvents")]
		public bool EnableKeyEvents;
		
		/// <summary>
		/// Fires when the {@link #autoSize} function is triggered. The field may or
		/// may not have actually changed size according to the default logic, but this event provides
		/// a hook for the developer to apply additional logic at runtime to resize the field if needed.
		/// </summary>
		/// <htmlSummary>
		/// Fires when the &lt;tt&gt;&lt;b&gt;{@link #autoSize}&lt;/b&gt;&lt;/tt&gt; function is triggered. The field may or
		/// may not have actually changed size according to the default logic, but this event provides
		/// a hook for the developer to apply additional logic at runtime to resize the field if needed.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("autosizeEventName")]
		public const string AutosizeEventName = "autosize";
		
		/// <summary>
		/// Keydown input field event. This event only fires if {@link #enableKeyEvents}
		/// is set to true.
		/// </summary>
		/// <htmlSummary>
		/// Keydown input field event. This event only fires if &lt;tt&gt;&lt;b&gt;{@link #enableKeyEvents}&lt;/b&gt;&lt;/tt&gt;
		/// is set to true.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("keydownEventName")]
		public const string KeydownEventName = "keydown";
		
		/// <summary>
		/// Keyup input field event. This event only fires if {@link #enableKeyEvents}
		/// is set to true.
		/// </summary>
		/// <htmlSummary>
		/// Keyup input field event. This event only fires if &lt;tt&gt;&lt;b&gt;{@link #enableKeyEvents}&lt;/b&gt;&lt;/tt&gt;
		/// is set to true.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("keyupEventName")]
		public const string KeyupEventName = "keyup";
		
		/// <summary>
		/// Keypress input field event. This event only fires if {@link #enableKeyEvents}
		/// is set to true.
		/// </summary>
		/// <htmlSummary>
		/// Keypress input field event. This event only fires if &lt;tt&gt;&lt;b&gt;{@link #enableKeyEvents}&lt;/b&gt;&lt;/tt&gt;
		/// is set to true.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("keypressEventName")]
		public const string KeypressEventName = "keypress";
		#endregion
		
		#region Methods
		/// <summary>
		/// Resets the current field value to the originally-loaded value and clears any validation messages.
		/// Also adds {@link #emptyText} and {@link #emptyClass} if the
		/// original value was blank.
		/// </summary>
		/// <htmlSummary>
		/// Resets the current field value to the originally-loaded value and clears any validation messages.
		/// Also adds &lt;tt&gt;&lt;b&gt;{@link #emptyText}&lt;/b&gt;&lt;/tt&gt; and &lt;tt&gt;&lt;b&gt;{@link #emptyClass}&lt;/b&gt;&lt;/tt&gt; if the
		/// original value was blank.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("reset")]
		public void Reset()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Validates a value according to the field&apos;s validation rules and returns an array of errors
		/// for any failing validations. Validation rules are processed in the following order:    1. Field specific validator  A validator offers a way to customize and reuse a validation specification.
		/// If a field is configured with a {@link #validator}
		/// function, it will be passed the current field value. The {@link #validator}
		/// function is expected to return either:
		///   Boolean true if the value is valid (validation continues).  a String to represent the invalid message if invalid (validation halts).       2. Basic Validation  If the {@link #validator} has not halted validation,
		/// basic validation proceeds as follows:    {@link #allowBlank} : (Invalid message =
		/// {@link #emptyText}) 
		/// Depending on the configuration of {@link #allowBlank}, a
		/// blank field will cause validation to halt at this step and return
		/// Boolean true or false accordingly.
		///   {@link #minLength} : (Invalid message =
		/// {@link...
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;Validates a value according to the field&apos;s validation rules and returns an array of errors
		/// for any failing validations. Validation rules are processed in the following order:&lt;/p&gt;
		/// &lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		///
		/// &lt;li&gt;&lt;b&gt;1. Field specific validator&lt;/b&gt;
		/// &lt;div class=&quot;sub-desc&quot;&gt;
		/// &lt;p&gt;A validator offers a way to customize and reuse a validation specification.
		/// If a field is configured with a &lt;code&gt;{@link #validator}&lt;/code&gt;
		/// function, it will be passed the current field value. The &lt;code&gt;{@link #validator}&lt;/code&gt;
		/// function is expected to return either:
		/// &lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;Boolean &lt;tt&gt;true&lt;/tt&gt; if the value is valid (validation continues).&lt;/li&gt;
		/// &lt;li&gt;a String to represent the invalid message if invalid (validation halts).&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;
		/// &lt;/div&gt;&lt;/li&gt;
		///
		/// &lt;li&gt;&lt;b&gt;2. Basic Validation&lt;/b&gt;
		/// &lt;div class=&quot;sub-desc&quot;&gt;
		/// &lt;p&gt;If the &lt;code&gt;{@link #validator}&lt;/code&gt; has not halted validation,
		/// basic validation proceeds as follows:&lt;/p&gt;
		///
		/// &lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		///
		/// &lt;li&gt;&lt;code&gt;{@link #allowBlank}&lt;/code&gt; : (Invalid message =
		/// &lt;code&gt;{@link #emptyText}&lt;/code&gt;)&lt;div class=&quot;sub-desc&quot;&gt;
		/// Depending on the configuration of &lt;code&gt;{@link #allowBlank}&lt;/code&gt;, a
		/// blank field will cause validation to halt at this step and return
		/// Boolean true or false accordingly.
		/// &lt;/div&gt;&lt;/li&gt;
		///
		/// &lt;li&gt;&lt;code&gt;{@link #minLength}&lt;/code&gt; : (Invalid message =
		/// &lt;code&gt;{@link #minLengthText}&lt;/code&gt;)&lt;div class=&quot;sub-desc&quot;&gt;
		/// If the passed value does not satisfy the &lt;code&gt;{@link #minLength}&lt;/code&gt;
		/// specified, validation halts.
		/// &lt;/div&gt;&lt;/li&gt;
		///
		/// &lt;li&gt;&lt;code&gt;{@link #maxLength}&lt;/code&gt; : (Invalid message =
		/// &lt;code&gt;{@link #maxLengthText}&lt;/code&gt;)&lt;div class=&quot;sub-desc&quot;&gt;
		/// If the passed value does not satisfy the &lt;code&gt;{@link #maxLength}&lt;/code&gt;
		/// specified, validation halts.
		/// &lt;/div&gt;&lt;/li&gt;
		///
		/// &lt;/ul&gt;&lt;/div&gt;
		/// &lt;/div&gt;&lt;/li&gt;
		///
		/// &lt;li&gt;&lt;b&gt;3. Preconfigured Validation Types (VTypes)&lt;/b&gt;
		/// &lt;div class=&quot;sub-desc&quot;&gt;
		/// &lt;p&gt;If none of the prior validation steps halts validation, a field
		/// configured with a &lt;code&gt;{@link #vtype}&lt;/code&gt; will utilize the
		/// corresponding {@link Ext.form.VTypes VTypes} validation function.
		/// If invalid, either the field&apos;s &lt;code&gt;{@link #vtypeText}&lt;/code&gt; or
		/// the VTypes vtype Text property will be used for the invalid message.
		/// Keystrokes on the field will be filtered according to the VTypes
		/// vtype Mask property.&lt;/p&gt;
		/// &lt;/div&gt;&lt;/li&gt;
		///
		/// &lt;li&gt;&lt;b&gt;4. Field specific regex test&lt;/b&gt;
		/// &lt;div class=&quot;sub-desc&quot;&gt;
		/// &lt;p&gt;If none of the prior validation steps halts validation, a field&apos;s
		/// configured &lt;code&gt;{@link #regex}&lt;/code&gt; test will be processed.
		/// The invalid message for this test is configured with
		/// &lt;code&gt;{@link #regexText}&lt;/code&gt;.&lt;/p&gt;
		/// &lt;/div&gt;&lt;/li&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		/// <param name="value">The value to validate. The processed raw value will be used if nothing is passed</param>
		/// <returns>Array of any validation errors</returns>
		[ScriptName("getErrors")]
		public System.Array GetErrors(object value)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Automatically grows the field to accomodate the width of the text up to the maximum field width allowed.
		/// This only takes effect if {@link #grow} = true, and fires the {@link #autosize} event.
		/// </summary>
		/// <htmlSummary>
		/// Automatically grows the field to accomodate the width of the text up to the maximum field width allowed.
		/// This only takes effect if &lt;tt&gt;&lt;b&gt;{@link #grow}&lt;/b&gt; = true&lt;/tt&gt;, and fires the {@link #autosize} event.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("autoSize")]
		public void AutoSize()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Selects text in this field</summary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		/// <param name="start">The index where the selection should start (defaults to 0)</param>
		/// <param name="end">The index where the selection should end (defaults to the text length)</param>
		[ScriptName("selectText")]
		public void SelectText(System.Number start, System.Number end)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Selects text in this field</summary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		/// <param name="start">The index where the selection should start (defaults to 0)</param>
		[ScriptName("selectText")]
		public void SelectText(System.Number start)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Selects text in this field</summary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("selectText")]
		public void SelectText()
		{
			throw new System.Exception("Imported - not implemented");
		}
		#endregion
		
		#region Events
		/// <summary>
		/// Fires when the {@link #autoSize} function is triggered. The field may or
		/// may not have actually changed size according to the default logic, but this event provides
		/// a hook for the developer to apply additional logic at runtime to resize the field if needed.
		/// </summary>
		/// <htmlSummary>
		/// Fires when the &lt;tt&gt;&lt;b&gt;{@link #autoSize}&lt;/b&gt;&lt;/tt&gt; function is triggered. The field may or
		/// may not have actually changed size according to the default logic, but this event provides
		/// a hook for the developer to apply additional logic at runtime to resize the field if needed.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("autosize")]
		public event ext.auto.Delegate_ext_form_TextField_And_System_Number Autosize;
		
		/// <summary>
		/// Keydown input field event. This event only fires if {@link #enableKeyEvents}
		/// is set to true.
		/// </summary>
		/// <htmlSummary>
		/// Keydown input field event. This event only fires if &lt;tt&gt;&lt;b&gt;{@link #enableKeyEvents}&lt;/b&gt;&lt;/tt&gt;
		/// is set to true.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("keydown")]
		public event ext.auto.Delegate_ext_form_TextField_And_ext_EventObject Keydown;
		
		/// <summary>
		/// Keyup input field event. This event only fires if {@link #enableKeyEvents}
		/// is set to true.
		/// </summary>
		/// <htmlSummary>
		/// Keyup input field event. This event only fires if &lt;tt&gt;&lt;b&gt;{@link #enableKeyEvents}&lt;/b&gt;&lt;/tt&gt;
		/// is set to true.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("keyup")]
		public event ext.auto.Delegate_ext_form_TextField_And_ext_EventObject Keyup;
		
		/// <summary>
		/// Keypress input field event. This event only fires if {@link #enableKeyEvents}
		/// is set to true.
		/// </summary>
		/// <htmlSummary>
		/// Keypress input field event. This event only fires if &lt;tt&gt;&lt;b&gt;{@link #enableKeyEvents}&lt;/b&gt;&lt;/tt&gt;
		/// is set to true.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("keypress")]
		public event ext.auto.Delegate_ext_form_TextField_And_ext_EventObject Keypress;
		#endregion
	}
}
